Exemplary multicast applications, such as video broadcast or multicast file transfer, transfer content to a defined secure group. A secure group is a collection of members who may be senders, receivers, or both senders and receivers of content. Group key management protocols ensure that only members of a secure group can gain access to group data and can authenticate group data by providing legitimate group members with the up-to-date cryptographic state that they need for their secrecy and authenticity requirements.
According to the group key management protocol, group members receive security associations (SAs). A Security Association (SA) is a set of policy and cryptographic keys that provide security services to network traffic that matches that policy. The SAs include encryption keys, authentication/integrity keys, cryptographic policy that describes the cryptographic algorithms and use of the cryptographic keys, and attributes such as an index for referencing the SA or particular objects contained in the SA.
The control over the distribution of SAs to members is performed by a Group Controller and Key Server (GCKS). In general, a member registers with the GCKS for authentication, and then receives information for initializing one or more security associations (SAs). For the purposes of the present application, the SA that each member receives when registering with the GCKS (for example an authentication SA) is referred to as a Registration SA. Other SAs that are provided include a Data Security Protocol SA (Data SA), which is used for securing group communication, and a re-key protocol SA, which is used when the GCKS periodically sends re-key messages to the group members. Re-key messages may result from group membership changes, the creation of new traffic protection keys for a particular group, or from key expiration.
As mentioned above, the Data SA may be used to secure communication between two or more members of a shared group. For example, the GCKS downloads a common group SA to the two or more members, which can then use the group SA for secure communication. The members may choose not to store the particular SA, due to policy or mechanism restrictions, or may store the group data SA in volatile memory. In the event of a power failure at one of the members of the group, the member can retrieve the data SA from the GCKS.
After a member or a group of members has registered with the GCKS, the GCKS stores the particular registration SA, data SA and re-key SA for that member or group in volatile memory. During operation, should re-keying of a group be required, the GCKS uses the stored data to transmit updated key information to each member of a group. One problem with the GCKS is that, in the event of a power failure or system re-boot, the registration SA, data SAs and other keying information for each member of the group is lost. The loss of keys requires that each member re-register and new keys be re-distributed to the group, thereby reducing the performance of the multicast application.